package thread;

/**
 * @author DBX
 * @effect  守护线程
 *              守护线程时通过普通的线程调用方法：setDaemon（true）设置而来的，因此守护线程在创建时与普通线程一样
 *              不同点在于当进程结束时：当一个java进程中所有普通线程都结束时，进程就会结束，此时进程会强制杀死所有正在运行的守护线程
 * @date 2021/9/1 0001 - 9:37
 */
public class DaemonThreadDemo {
    public static void main(String[] args) {
        Thread t = new Thread(){
            @Override
            public void run() {
                for (int i = 1;i<5;i++) {
                    System.out.println(getName()+"------------>"+i);
                    try {
                        sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
                System.out.println("没了");
            }
        };
        Thread t2 = new Thread(){
            @Override
            public void run() {
                for (int i = 1;i<50;i++) {
                    System.out.println(getName()+"守护进程"+i);
                    try {
                        sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        };
        t.start();
        t2.setDaemon(true);
        t2.start();
    }
}
